Cooling fans typically used in refrigerators include a brushless motor because of its features of long life and energy saving. The fans are controlled to follow their air volume and driving noise depending on the ambient temperature and the temperature of an object to be cooled. It is known that variations in the air volume depend on variations in the rotation speed of the motor attached to the impeller, whereas the driving noise depends on the rotation torque of the motor.
Sensorless three-phase brushless motors driven by pulse width modulation (hereinafter, PWM) have been controlled by, for example, the following brushless motor drive device. In this motor drive device, the rotational position of the motor is estimated from the values of the currents flowing through the three-phase coils, and the actual rotation speed is calculated from the amount of change in the rotational position per unit time. The calculated actual rotation speed is then used to control the switching pulse width of MOS-FET devices in the inverter circuit performing PWM operation.
Assume here that there is an error in any of the following circuits: current detection circuits for detecting the current values of the coils, AD converter circuits for inputting the outputs of the current detection circuits into a microcomputer, and a clock generation circuit for generating a unit time pulse. In this case, a similar error may occur in the actual rotation speed and torque that are to be calculated and cause a deviation from a target value.
A previously proposed approach is to diagnose faults in a clock generation circuit and an AD converter circuits by applying a pulse voltage with a predetermined time interval generated based on a clock pulse to an RC filter and determining whether the voltage for diagnosis at a predetermined clock cycle number falls outside a predetermined range (see, for example, PTL 1).
Another previously proposed approach is to correct the rotation speed by calculating the error rate of a reference clock to operate a microcomputer based on the cycle of a PWM signal (command signal) received from a host unit (see, for example, PTL 2).
However, in PTL 1, when the voltage for diagnosis is within the predetermined range, an error in the AD converter circuit makes it impossible to accurately calculate the current value detected by the current detection circuit and causes a torque error. Meanwhile, in PTL 2, the error rate of the reference clock can be used to correct the rotation speed, but it is impossible to detect an error in the AD converter circuit.